package com.hourses.mapper;

import com.hourses.page.Page;
import com.hourses.pojo.Product;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
@Mapper
public interface ProductMapper {

    //查询出满足条件的商品总数
    public Integer selectProductPageList(Product product);

    //查询出每一页需要展示的商品列表
    public List<Product> selectChildList(@Param("product") Product product,@Param("page") Page page);

    //检查要添加的商品是否已经存在于数据库中，要求：商品名称和编号至少要有一个不同
    public Integer selectAddProductIsExist(Product product);

    //添加商品
    public Integer addProduct(Product product);

    //修改商品上下架状态
    public Integer changeUpDownState(Product product);

    //删除商品
    public Integer deleteProduct(List<Integer> productIds);

    //根据id查找商品
    public List<Product> selectProductById(List<Integer> productId);

    //根据productName和productNum查询product
    public List<Product> selectByNameAndNum(Product product);

    //修改商品信息
    public Integer updateProduct(Product product);

    //根据商品id查库存
     public Integer selectProductInventByproductId(Integer productId);
}